package com.zxpt.quetion.service.impl;

import com.zxpt.quetion.pojovo.QuMdItVo;
import com.zxpt.quetion.service.IQuMdItService;
import com.zxpt.quetion.mappervo.QuMdItMapperVo;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.stereotype.Service;
import lombok.extern.slf4j.Slf4j;
import com.github.pagehelper.PageInfo;
import com.github.pagehelper.PageHelper;
import java.util.Map;
import java.util.List;
import javax.annotation.Resource;
import  com.zxpt.quetion.utils.Query;
import  com.zxpt.quetion.utils.CreateQueryConditionUtil;
import  com.zxpt.quetion.utils.SqlUtil;

/**
* 所在包：com.zxpt.quetion.service.impl.QuMdItServiceImpl
* 文件名：QuMdItServiceImpl
* 版权：稻草人.
* 描述：
* 修改人：huizi
* 修改时间：
*/
@Service
@Transactional
@Slf4j
public class QuMdItServiceImpl implements IQuMdItService {

    @Resource
    private QuMdItMapperVo quMdItMapperVo;

    @Override
    public PageInfo<QuMdItVo> getPage (Map<String, Object> queryMap, Integer page, Integer rows) {
        Query query = CreateQueryConditionUtil.createCondition(queryMap);
        PageHelper.startPage(page, rows);
        List<QuMdItVo> list = quMdItMapperVo.getPage(query.getSql(), queryMap);
        PageInfo<QuMdItVo> pageInfo = new PageInfo(list);
        return pageInfo;
    }

    @Override
    public QuMdItVo getById(String id) {
        QuMdItVo quMdItVo = quMdItMapperVo.getById(id);
        return quMdItVo;
    }

    @Override
    public void add(QuMdItVo quMdItVo) {
        SqlUtil<QuMdItVo> sqlUtil = new SqlUtil<>();
        String sql = sqlUtil.createInsertSql(QuMdItVo.class, quMdItVo);
        quMdItMapperVo.insertSelective(quMdItVo, sql);
    }

    @Override
    public void update(QuMdItVo quMdItVo) {
        SqlUtil<QuMdItVo> sqlUtil = new SqlUtil<>();
        String sql = sqlUtil.createUpdateSelectiveSql(QuMdItVo.class, quMdItVo);
        quMdItMapperVo.updateSelective(quMdItVo, sql);
    }

    @Override
    public void updateAbsolute(QuMdItVo quMdItVo) {
        SqlUtil<QuMdItVo> sqlUtil = new SqlUtil<>();
        String sql = sqlUtil.createUpdateAbsoluteSql(QuMdItVo.class);
        quMdItMapperVo.updateAbsolute(quMdItVo, sql);
    }

    @Override
    public void delById(String id) {
        quMdItMapperVo.delById(id);
    }
}
